/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package Entidades;

import java.io.Serializable;
import java.util.Collection;
import javax.persistence.Basic;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.persistence.Table;

/**
 *
 * @author ivana
 */
@Entity
@Table(name = "empaque")
@NamedQueries({
    @NamedQuery(name = "Empaque.findAll", query = "SELECT e FROM Empaque e"),
    @NamedQuery(name = "Empaque.findByIdEmpaque", query = "SELECT e FROM Empaque e WHERE e.idEmpaque = :idEmpaque"),
    @NamedQuery(name = "Empaque.findByNombreEmpaque", query = "SELECT e FROM Empaque e WHERE e.nombreEmpaque = :nombreEmpaque"),
    @NamedQuery(name = "Empaque.findByCapacidadEmpaque", query = "SELECT e FROM Empaque e WHERE e.capacidadEmpaque = :capacidadEmpaque"),
    @NamedQuery(name = "Empaque.findByEstadoEmpaque", query = "SELECT e FROM Empaque e WHERE e.estadoEmpaque = :estadoEmpaque"),
    @NamedQuery(name = "Empaque.findByPesoEmpaque", query = "SELECT e FROM Empaque e WHERE e.pesoEmpaque = :pesoEmpaque")})
public class Empaque implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Basic(optional = false)
    @Column(name = "idEmpaque")
    private Integer idEmpaque;
    @Basic(optional = false)
    @Column(name = "nombreEmpaque")
    private String nombreEmpaque;
    @Basic(optional = false)
    @Column(name = "capacidadEmpaque")
    private double capacidadEmpaque;
    @Basic(optional = false)
    @Column(name = "estadoEmpaque")
    private String estadoEmpaque;
    @Basic(optional = false)
    @Column(name = "pesoEmpaque")
    private float pesoEmpaque;
    @OneToMany(cascade = CascadeType.ALL, mappedBy = "empaque")
    private Collection<Cargaempaque> cargaempaqueCollection;
    @OneToMany(cascade = CascadeType.ALL, mappedBy = "empaque")
    private Collection<Detallerecepcion> detallerecepcionCollection;

    public Empaque() {
    }

    public Empaque(Integer idEmpaque) {
        this.idEmpaque = idEmpaque;
    }

    public Empaque(Integer idEmpaque, String nombreEmpaque, double capacidadEmpaque, String estadoEmpaque, float pesoEmpaque) {
        this.idEmpaque = idEmpaque;
        this.nombreEmpaque = nombreEmpaque;
        this.capacidadEmpaque = capacidadEmpaque;
        this.estadoEmpaque = estadoEmpaque;
        this.pesoEmpaque = pesoEmpaque;
    }

    public Integer getIdEmpaque() {
        return idEmpaque;
    }

    public void setIdEmpaque(Integer idEmpaque) {
        this.idEmpaque = idEmpaque;
    }

    public String getNombreEmpaque() {
        return nombreEmpaque;
    }

    public void setNombreEmpaque(String nombreEmpaque) {
        this.nombreEmpaque = nombreEmpaque;
    }

    public double getCapacidadEmpaque() {
        return capacidadEmpaque;
    }

    public void setCapacidadEmpaque(double capacidadEmpaque) {
        this.capacidadEmpaque = capacidadEmpaque;
    }

    public String getEstadoEmpaque() {
        return estadoEmpaque;
    }

    public void setEstadoEmpaque(String estadoEmpaque) {
        this.estadoEmpaque = estadoEmpaque;
    }

    public float getPesoEmpaque() {
        return pesoEmpaque;
    }

    public void setPesoEmpaque(float pesoEmpaque) {
        this.pesoEmpaque = pesoEmpaque;
    }

    public Collection<Cargaempaque> getCargaempaqueCollection() {
        return cargaempaqueCollection;
    }

    public void setCargaempaqueCollection(Collection<Cargaempaque> cargaempaqueCollection) {
        this.cargaempaqueCollection = cargaempaqueCollection;
    }

    public Collection<Detallerecepcion> getDetallerecepcionCollection() {
        return detallerecepcionCollection;
    }

    public void setDetallerecepcionCollection(Collection<Detallerecepcion> detallerecepcionCollection) {
        this.detallerecepcionCollection = detallerecepcionCollection;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (idEmpaque != null ? idEmpaque.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof Empaque)) {
            return false;
        }
        Empaque other = (Empaque) object;
        if ((this.idEmpaque == null && other.idEmpaque != null) || (this.idEmpaque != null && !this.idEmpaque.equals(other.idEmpaque))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "Entidades.Empaque[idEmpaque=" + idEmpaque + "]";
    }

}
